================================================================================
version 5.7 12/29/2006

Adding support for 5-digit release codes (0-65535) stored in S-register 41.  Use
ATER and ATEW to set this value.

Major release of previous 5.6.x maintenance releases.

================================================================================
version 5.6.2 10/9/2006

Added missing prompt after output of *SPD: string when acoustic sync-pulse
trigger is received.

================================================================================
version 5.6.1 9/13/2006

1. Implementation of commands to support Naxys AS accurate sync pulse and ranging

2. New AT commands AT^R and AT^T now supported.

3. Group addressing semantics implemented to allow up to 6 groups of 16 modems
   to be addressed en masse.
================================================================================
version 5.6 8/22/2006

Cutting "official" release to incorporate previous maintenance fixes.

1. Add acoustic remote command to enable or disable external device enable line.
   AT$Xn,m will instruct modem n to put its external device enable line on (if m=1)
   or off (if m=0).

2. Added case to PSA916 AUTO mode (special for WHOI) that will turn off external
   device enable line automatically whenever release is triggered, either automatically
   via PSA916 triggering, or manually.  In the manual case, the PSA916 auto mode must
   be enabled in some way (s15 = 5) even if just for telemetry reporting.

3. Change default turnaround time on ranging command (ATRn) to 1.6 seconds, down 
   from 2.5 seconds.  This is desired for higher accuracy on ranging.

4. This change is fully backward compatible with previous versions of firmware
   still using the 2.5 second turnaround.  Old -> New and New -> Old ranging
   requests will yield correct ranges (as will Old/Old and New/New of course).

5. A modulation mode, number 14, of 5120 bps, no convolutional coding, has
been added to ease debugging.

6. Fix 16K serial buffer overflow bug when S13 = 0.

   ================================================================================
version 5.5 02/10/2006

1. Fixed synchronization problems

2. Fixed intermittent timestamp problem on receipt of Range Response

3. S49 used for synchronizing to PPS pulse, disables low-power mode.
   S15=4 used for TM-4 input

4. New feature will automatically initiate a release after a preset number of 
hours. The number of hours is set by sregister 50.  Sregister 50 can have a 
value of 0 to 999, where 0 will disable the feature and 1 to 999 will be the
number of hours in which it will release.  The timer is started at power up. 
Note that changing sregister 50 will not affect the timer, which always starts
at power up.  This feature will work even if the modem is in low power mode.

5. Updated the ATE? command.  Improved the output format, eliminated the bytes stored
in the message format.

6. Added AT% command to implement user interface to FSK release tones.  Can
support multiple manufacturers.  Sregister 51 added to control duration of
release tone transmit, from 4 to 12 seconds with an 8 second default.

7. Changed ATN command to accept up to 5 digit frequencies in 1 Hz units 
(multiples of 250 allowed), instead of the previous format which accepted 
fewer digits and internally multiplied by 100.  This will allow us to range 
on devices that have rx frequencies of xx250 and xx750, which the mod-100
version could not.

   ===============================================================================
Version 5.4  9/20/05
 1. Fixed bug introduced in version 5.3.  Checking the tilt sensor while
waiting for the burnwire confirmation (tilt), caused a problem with the range command.
The range would have and error of 1.2-2.4 meters.

2. Fixed bug introduced in version 5.3.  If ranging at the same time the burnwire 
confirmation is being received the displayed message is incorrect.  

  ===============================================================================
Version 5.3  5/15/05
1. Made the following changes which had the effect of reducing the current spikes
by 40%, while only making a minimal impact on the source level.  

2. Created acoustic status message in indicate burnwire release complete.  This
is done by using the tilt sensor

3. Once burnwire is activated, leave it on.

4. Fixed bug created in version 5.2 which caused a watch dog reset on some boards.  
(note a board with this problem will turn on, transmit the start up tones, reset,etc.)

 
 
 ===============================================================================
Version 5.2  2/16/05
NOTE THIS VERSION IS NOT FULLY BACKWARDS COMPATIBLE.  ALSO NOTE THAT LOADING
THIS VERSION WILL CAUSE ALL SREGISTER TO BE RESET TO FACTORY DEFAULTS.
1. Bug Fix (discovered by FSI): Versions 5.0 and 5.1 have a problem receiving packets 
with the following sizes 75,79,88,101,114,120,127 and 130 (256+75, 256+79, etc).
Problem in interleaver, fixed prime number lookup table.

2. Added Data Truck Mode.  This mode stores incoming data to the Datalogger
instead of outputting it via the serial port.
This mode is set by sregister 22, with the following settings:
0 - normal operation, all received data is output via the serial port
1 - Data Truck mode, all received data is stored in the datalogger
2 - Combined mode, received data is both stored in the data logger and output
to serial port.  

3. Added lost communication feature:
To enable this feature sregister 28 must be set to 1 and sregister 39
sets the timeout in 15 second increments.  Sregister 39 set to 0 will
disable this feature.  This feature has been implemented per the 
SOW for ES 8651-05. 

4. Change made to prevent the release code and release type from being reset
by a factory reset.

5. Added turn on tones.  Whenever a modem, smart release or smart modem is turned on
it will put out a series of tones.


===============================================================================
Version 5.1  10/28/04

1. Added new command AT$Nx,y for the burnwire.

2. Improved the check status command (AT$T command)so it will indicate
that burn wire has been activated.  If checking status while the burnwire is 
on the message "Burnwire Activated" will be displayed.  Also if the model is
a smart modem, the tilt sensor status will be surpressed and if a standard
modem then all status will be surpressed.

3.  Added support for the Smart Modem.  If unit is a smart modem, Start up 
message will say "Smart Modem", Battery voltage will be periodically monitored, and when 
battery voltage drops below threshold, Data telemetry functions will be disabled.

4. Fixed bug which allowed the modem to go into lowpower while releasing
or while the burnwire was activated.  This was a very minor problem, 
which would only cause the lack of a confirmation response and not allow
the control line to be shut off.

5. Fixed bug in battery voltage monitoring for smart release. 



===============================================================================
Version 5.0  5/7/04

NOTE VERSION 5.0 IS NOT BACKWARDS COMPATIBLE WITH ANY VERSION 4.0 FIRMWARE
ALSO ONLY TELESONARPC VERSION 3.0 is COMPATIBLE WITH THIS VERSION
SEE THE REV E USERS MANUAL FOR ADDITIONAL DETAILS

1.  Added ringbuffer change.  Use sregister 37 to enable.  (see ringbuffer.txt 
for more detail).

2. Added changes for the smart release.  
Added the following release commands:
 - AT$Rn,m - to release (toggle spare 1 control line)
 - AT$Tn - Check the status of the release
 - ATM0 and ATM1 diag. to clr and set the spare 1 control line

3. Changed transmit battery voltage measurement so that it is now in tenths of a volt.
Note this affects the ATV, AT$Vn, ATEQ, ATE?, and ATEV commands.  Each of these 
commands had to be changed to format their output in tenths of a volt.

4. Allow a maximum of 100 addresses (0-99)

5. Changed the setting of sregister 4=2.  It now is 140b/s 1-of-4 MFSK repeated 4X.
Thus the header is now 140b/s.  This added 50ms overhead to the packet.  Also added
a setting for sregister 4=30.  It is now the 150b/s Hadamard Doppler tolerant.

6. Revised the meaning of sregister 1.
S1=0: Doppler correction on auto, Doppler tracking off.  If a relative velocity
is detected by the 3 tones(a Doppler shift greater than 1 hz), then enable 
resampling.  At the end of the packet disable resampling.
S1=1: Doppler correction ON and Doppler tracking ON.

7. Change default for FSNR(sregister 27) from 42 to 28, this should reduce the 
number of "Low SNR acquistion detected" packets.

8. Added interleaver.

9.  Improved Doppler performance, can now handle relative speeds in excess of
20 knots.



===============================================================================
Version 4.9.3  3/24/04

Change timing on Device Enable so that it is asserted(active low) 80ms(+/-5ms) prior
to outputing a new packet of data.  Note that at powerup or in low power mode device
enable will always be deasserted.  Previously, device enable was asserted after 
receiving the header, then the data was buffered and output to the UART.  Thus the
time between the assertion of device enable and the outputing of the data via the
UART was varaible.  Left the logic unchanged on the ATD (dial) and AT$K (send break)
commands.


===============================================================================
Version 4.9.2 1/25/4 
1. Bug fix: 
Sending a data packet at 1066b/s (sregister 4=6) or 1200b/s (sregister 4=7) with
any of the following packet sizes: 
      257-261 bytes, 513-516 bytes, 769-773 bytes,....... etc  ( the problem repeats every 256 bytes),
results in the last few bytes being corrupted.

Sending a data packet at 2560b/s (sregister 4=9) thru 15360b/s (sregister 4=13) with
any of the following packet sizes:
      257-306 bytes, 513-562 bytes, 769-818 bytes,....... etc  ( the problem repeats 256 bytes),
results in the last few bytes being corrupted.
Bug discovered by Scott Stalin at NOAA PMEL

===============================================================================
Version 4.9.1 10/22/3 
1. Bug fix: If the idle time is sent to 2 seconds (sregister 10 set to 0) and the
 modem is receiving packets with over 2000 bytes, then the receiving modem 
 will go into low power mode before it has a chance to complete the display
 of the received data. Bug discovered by Scott Stalin at NOAA PMEL

===============================================================================
Version 4.9 10/13/3 
1.  Added new command, ATUn. Same as ATYn except that it will keep repeating.
Increased time between repeats to 60 seconds.

2. Added frequency hopping modulation.  Setting sregister 4 to 1 will enable
80 b/s frequency hopping modulation. 
NOTE: This version is no longer interoperable with WHOI

3. Added a threshold to the tracking. Sregister 25 will now set the tracking 
threshold.  In AWGN the threshold does not have any affect. 

4. Bug fix:  If bit error count is greater than 999 then set to 999.

5. Created 2 new 1-of-4 MFSK modulations at 140b/s for testing.  The segister 4 
settings are S4=43 for 4X repeated modulation and S4=44 for 2X with less tones.

6. Set up to allow coprocessor board to be turned off in low power mode.

7. All changes from MBARI ES are included in this release.  


===============================================================================
Version 4.8 6/3/3 

1. Implemented a postivie acknowledgement file transfer protocol.  When enabled 
every packet will be acknowledged.  A 4K packet is broken up into 16 256-byte
cells.  If a packet has errors only the cells with the errors are retransmitted.
The packet will be retransmitted up to a maximum of 2 times before the packet is 
aborted.
Sregister 02: Sets packet retry mode.  This sregister only has to be set at the 
modem that is transmitting the data.  Note if more then 12K of data is to be 
transferred then Hardware handshaking is required.
0-normal operation, all data is only sent once
1-packet retry mode, will use a positive acknowledgement protocol to resend 
the data up to two times if packet has errors.  Note only the portion of the 
packet with errors is resent.

2. Bug Fix:  If sregister 4 was invalid, it was still allowing the invalid 
value to be set and the AT$An,m command was giving a good acknowledgement
for an invalid setting. Changed so an error message is returned if sregister 4
is an invalid setting.  

3. Added new feature to surpress packets with errors.  Sregister 16 now controls
the display of packets with errors.  If S16 is set to 0 then packets with errors 
will be displayed(default mode of operation),if S16=1 then packets 
with errors will not be displayed.

4. Bug Fix: Leading zeros no longer required with the AT$Dn,m command.

5. Added new command, AT$BBn,m.  This command allows any 4k portion of the datalogger
to be acoustically retrieved.  N is the address and m is the 4K block number.
Note that the first 4K block is 0.

6. Bug Fix: The SNR for PSK modulation was not always reported correctly.




===============================================================================
Version 4.7 3/26/3  

1. Improved the error correction algorithm.  THe algorithm now uses a soft decision
for all the MFSK modulations.  This change will allow the modems to operate at 
lower SNRs.

2. Enabled interupt for external wakeup board (860 receiver).
Note this is only used by NOAA-PMEL.

3. Fix bug discovered in units with coprocessor: the banner message would only
display Benthos and then reset and display Benthos.  The problem was caused by
the coprocessor taking too long to synch up, thus the watchdog would reset.

4. Surpress coprocessor error message in lowest verbose level(Sregister13=0).

5. Created a new sregister 13 setting.  For the FSI wave/current meter S13=18
is required to make the output look like and ATM-87X series.

6. Added "Interoperability Band C" to the banner message if frequency is 141. 
